public class practice1 {
    // 两数交换简单方法（异或）
    // 异或：两数不同为1，两数相同为0
    // 0^N = N N^N = 0
    public static void change(int a,int b) {
        //这种方法必须要a，b的地址值不同，值可以相同
        //例如a=10，b=10可以交换，但arr[i]和arr[i]不能交换
        a ^= b;
        b ^= a;
        a ^= b;
        System.out.println(a);
        System.out.println(b);
    }
    //在java里是按值传递的机制，也就是把a，b的值传递给方法
    //而不是去传递地址，所有main方法里的ab值不变
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        change(a,b);
        System.out.println(a);
        System.out.println(b);
    }
}
